Go 函数回调

Go支持函数回调,你可以把函数名称作为参数传递给另外一个函数,然后在别的地方实现这个函数。

  1. package main
  2. import "fmt"
  3. type Callback func(x, y int) int
  4. func main() {
  5. x, y := 1, 2
  6. fmt.Println(test(x, y, add))
  7. }
  8. //提供一个接口,让外部去实现
  9. func test(x, y int, callback Callback) int {
  10. return callback(x, y)
  11. }
  12. func add(x, y int) int {
  13. return x + y
  14. }

运行结果

  1. 3